成员推理攻击技术介绍
成员推理攻击(Membership Inference Attack) 诞生于机器学习即服务(Machine Learning as a Service)场景,是一种针对模型数据、用户数据的隐私攻击技术[1]。2020 年,成员推理攻击已成为针对人工智能系统的第三大攻击手段,占全年攻击数量的比例达到3.5%[2]。尽管成员推理攻击只是一种间接的隐私窃取,但当成员推理攻击作为高级可持续威胁攻击(Advanced Persistent Threat, APT) 攻击链的一环,同其他攻击结合时,例如充当数据重构攻击[3]等攻击手段的预攻击时,敏感的成员信息会使这些攻击更具针对性和破坏性。
成员推理攻击的定义
成员推理攻击是一种面向AI模型的数据隐私窃取,攻击者以判断数据是否来源于AI模型的训练集为目标,本质上是对未知来源的数据进行二分类,给出成员数据或者非成员数据的判定。
攻击者往往会直接从算法模型上寻找突破口,例如攻击者使用一个攻击模型用于检验成员数据与非成员数据在置信度上的差异,并以此作为区分是否是成员数据的关键依据。如图1所示,攻击者在获得数据集(需要从中找出成员数据)后,调用公用API,得到目标数据的推理置信度,进而发现隐藏在模型推理结果中的端倪。而受害者,也就是模型训练的贡献者,往往并不知晓整个攻击流程。由此可见,此举在一定程度上会侵犯模型训练数据的隐私。
图1:成员推理攻击架构图
成员推理攻击的分类
(1) 黑盒、白盒成员推理攻击
黑盒成员推理攻击表示攻击者仅能通过向目标模型输入数据获得预测置信度,并不能直接得到模型,更不能获取到有关于模型的任何额外信息,例如神经网络的结构等。白盒成员推理攻击则是攻击者可以得知目标模型的所有关键信息,包括模型参数、神经网络结构等。因此黑盒成员推理与白盒成员推理的最大区别就是攻击者可以利用的条件不同。
(2) 主动式、被动式成员推理攻击
被动式成员推理攻击表示攻击者仅能观察模型和算法,在这种情况下攻击者的灵活性较低,无法采用别的手段制造有利条件。主动式成员推理攻击表示攻击者可以通过一些额外的手段主动地影响模型释放出有利于推理的信息,或者诱导数据训练者泄露更多的隐私线索,从而获取到重要的训练集信息。
(3) 集中式机器学习成员推理、联邦学习成员推理
在数据、模型紧密捆绑的集中式机器学习场景下,成员推理攻击者多是来自第三方的恶意用户。联邦学习[4]以及分布式机器学习都是指众多训练参与者各自持有私密数据训练集,在中央参数服务器的协同训练下,完成构建全局模型,该模型所有参与者可以共享。但由于参数服务器可能存在0Day 系统漏洞并且联邦学习缺乏完备的可信参与者准入机制,所以在该场景下,攻击者可能会是中央参数服务器,也有可能是训练集群中的普通参与者。
成员推理攻击发生的原因
(1) 模型过拟合[1]
成员推理攻击的终极目标是区分出目标模型的训练数据(成员数据)与非训练数据(非成员数据),而算法模型的过拟合问题则是指算法模型能够出色地识别训练集数据但对真实数据集的预测效果不好。因此,当一个模型若是其泛化能力较差,其训练集成员与非训练集成员就容易被区分开来。
(2) 数据不具有代表性[1]
训练集数据不具有代表性是指训练数据和测试数据的分布具有很大差异,此时用训练集训练得到的模型就难以很好地预测测试数据集。模型对两类数据的预测结果产生的波动,为攻击者依据置信度差异进行成员推理留下突破口。
成员推理攻击的研究成果
面向集中式机器学习的被动黑盒成员推理攻击
Shokri 等人于S&P2017会议中首先提出了针对集中式机器学习黑盒被动成员推理攻击架构[1]。如图2所示,攻击者在调用机器学习服务的API(例如Google模型等),从目标模型直接获得预测输出,而由于API对于”熟悉“的训练数据以及”不熟悉“的测试数据会在推理的置信度上存在差异,攻击者利用预测置信度的波动差异来构造一个新的标签——”成员属性“扩展数据的维度,并再次将数据按照新标签归类训练,得到可以识别成员属性的攻击模型。
图2:面向集中式机器学习的被动黑盒成员推理攻击原理图
面向集中式机器学习的主动白盒成员推理攻击
Nasr 等人在S&P2019会议中提出了一种面向集中式机器学习的由攻击者主动发起的白盒成员推理攻击[6]。该方案的核心技术是随机梯度上升(Stochastic Gradient Ascent,SGA),随机梯度上升每次强制提高所有数据的梯度时,随机梯度下降(Stochastic Gradient Descent,SGD)则会强制降低成员数据的梯度,因此非成员数据的梯度依然上升,如图3所示。
图3:成员数据与非成员数据经SGA处理后的梯度差异图
攻击者在获取白盒模型之后,在训练结束后提取目标模型的参数,包括梯度(Gradient)、损失率(Loss) 等,再投放到全连接层中来训练。当通过检测这种区别,攻击模型会将成员信息转化为一个分数,作为一个新的特征。之后,攻击者再构造一个无监督学习来区分成员数据和非成员数据即可,如图4所示。
图4:面向集中式机器学习的主动白盒成员推理攻击架构图
面向联邦学习的主动白盒成员推理攻击
联邦学习具有众多联合训练的参与者,训练者们会按照统一的训练目标各自训练,而训练者的数据存放在本地,仅仅通过梯度参数同中央服务器交互,参数服务器在通过聚合算法形成均衡的模型后再度下发给各参与者。数据留存在本地不仅打破了单一用户的数据孤岛,聚合算法还从很大程度上抹除掉了用户的隐私。但是联邦学习机制本身依旧存在成员推理漏洞。
图5:面向联邦学习的主动白盒成员推理攻击架构图
由普通参与者发动,面向联邦训练集群的成员推理攻击架构如图5所示。因为是主动攻击,所以攻击者可采用灵活的攻击手法。在这里,攻击者的“主动性” 体现在攻击者可以在自己的本地利用每轮迭代下发的白盒模型𝑀𝑔𝑙𝑜𝑏𝑎𝑙 额外训练一个成员推理攻击模型𝑀𝑎𝑡𝑡𝑎𝑐𝑘。攻击模型𝑀𝑎𝑡𝑡𝑎𝑐𝑘的训练数据𝐷𝑡𝑟𝑎𝑖𝑛来自于攻击者持有的私有数据集𝐷𝑝𝑟𝑖𝑣𝑎𝑡𝑒和可以找到的同规格、同分布的其他数据𝐷other。攻击者会伴随全局任务持续迭代训练本地模型,直到本地模型收敛。然后攻击者将获取并处理后的成员推理训练数据𝐷𝑝𝑟𝑖𝑣𝑎𝑡𝑒作为测试数据集𝐷𝑡𝑒𝑠𝑡 输入本地模型,进而获得分类置信度。再参考shokri等人的做法,攻击者从𝐷𝑡𝑒𝑠𝑡中按照置信度的高低分出私有数据集𝐷𝑝𝑟𝑖𝑣𝑎𝑡𝑒,标记为正样本“IN(成员数据)”, 非私有数据集𝐷other标记为负样本“OUT(非成员数据)”,这就拥有了带有成员标签的完整训练数据𝐷𝑡𝑟𝑎𝑖𝑛。使用二分类算法对其进行训练就可以获得成员推理攻击模型𝑀𝑎𝑡𝑡𝑎𝑐𝑘。在攻击者𝐴获取了包含联邦学习整体训练数据𝐷𝑓𝑒𝑑 的全局数据𝐷𝑔𝑙𝑜𝑏𝑎𝑙之后,就可以利用攻击模型𝑀𝑎𝑡𝑡𝑎𝑐𝑘分辨出除𝐷𝑝𝑟𝑖𝑣𝑎𝑡𝑒之外的成员数据𝐷𝑡𝑎𝑟𝑔𝑒𝑡了,整个攻击算法的关键步骤如下:
该框架下成员推理攻击精确度如图6所示。联邦全局通讯20 轮,在每一轮进行一次成员推理攻击,根据图中的线路趋势可知,成员推理模型可以很好地收敛,平均精度约为66.8%,有一定的成员推理效果(大于随机概率50%)。
图6:面向联邦学习主动白盒成员推理攻击精确度
可行的防御办法
(1)以牺牲计算开销为代价,利用同态加密技术或者安全多方计算技术,完成隐私保护机器学习。同态加密技术可以通过重写机器学习算法中的多种激活函数,利用密码单元实现密文计算[6]。安全多方计算技术现有Tensorflow Encrypted框架,可适配一部分算法模型,将训练完备的模型转换为“安全模型”,进行密文数据推理[7]。
(2)针对集中式机器学习框架可以考虑引入本地差分隐私[8]。该技术包含三个步骤:剪裁、聚合、加噪。中央参数服务器往梯度参数中添加噪声完成混淆,既可以防止模型过拟合,也不会有很高的通信或者计算代价,但是由于对梯度进行进行了加噪,所以会影响模型收敛的速度,可能会需要更多的轮次才能达到理想的精度。
(3)联邦学习梯度扰动方案。当前J Wang 等人在尝试让联邦学习参与者通过添加局部随机扰动来将梯度隐私信息隐藏,屏蔽训练数据[9]。每个参与者使用雅可比矩阵(Jacobian Matrix),来反映梯度的隐私敏感性,量化梯度泄露风险,进而可以得知攻击者从哪一层中可以获取较多的信息参数。在训练的初始阶段逐层确定梯度的泄漏风险后,将梯度切片,每轮训练时随机选取切片并加入随机噪声。由于联邦学习所有参与者都做了这样的操作,所以攻击者无法对所有上传的数据做定位。此外,由于梯度中加入了扰动噪声,服务器会使用全局更新来补偿收敛效果。最后,参与者还可以进行梯度剪枝防止攻击者溯源,比较类似于模型蒸馏。此方案没有用非常“重”的密码学技术,而是用轻量级的扰动噪声作为保护措施,联邦学习自身还可以进行去噪和性能补偿,这是从联邦学习内在机理层面着手,具有非常好的防御潜力。
(4)面向联邦学习机制,可以考虑引入知识蒸馏技术,所谓知识蒸馏就是将一个大的模型或者很多模型压缩到一个小模型,同时保持这些模型的性能[10]。扩展到联邦学习框架中,知识蒸馏让服务器端与参与者端仅交互的是Logits而不再是梯度参数,这样可以抵御大部分针对联邦学习梯度参数的攻击,例如梯度数据重构等。
成员推理攻击技术的研究意义
(1)提高研究者对于AI隐私安全的重视,推动提高人工智能的鲁棒性。由上述研究内容可见,无论是传统机器学习还是公认“安全性较高”的联邦学习,都存在利用参数漏洞或者机制漏洞实现成员推理的可能性。因此,一个安全、鲁棒的机器学习框架亟待被推出。
(2)推动研究人员设计从机器学习或者联邦学习的内在机理层面着手的隐私保护策略。 “由AI战胜AI”是目前来说最佳解决方案,既可以免除“重型”密码算法带来的计算开销也可以保证良好的训练推理性能。
参考文献
[1] Shokri R, Stronati M, Song C, et al. Membership inference attacks against machine learning models[C]. Proceedings of 2017 IEEE Symposium on Security and Privacy (SP). IEEE, 2017.3–18.
[2] 景慧昀, 魏薇, 周川, et al. 人工智能安全框架[J]. 计算机科学, 2021, 48(7):1–8.
[3] Wang Z, Song M, Zhang Z, et al. Beyond inferring class representatives: User-level privacy leakage from federated learning[C]. Proceedings of IEEE INFOCOM 2019-IEEE Conference on Computer Communications. IEEE, 2019. 2512–2520.
[4] Yang Q, Liu Y, Cheng Y, et al. Federated learning[J]. Synthesis Lectures on Artificial Intelligence and Machine Learning, 2019, 13(3): 1-207.
[5] Nasr M, Shokri R, Houmansadr A. Comprehensive Privacy Analysis of Deep Learning[C]. Proceedings of 2019 ieee symposium on security and privacy.
[6] Aono Y, Hayashi T, Wang L, et al. Privacy-preserving deep learning via additively homomorphic encryption[J]. IEEE Transactions on Information Forensics and Security, 2017, 13(5):1333–1345.
[7] Dahl M, Mancuso J, Dupis Y, et al. Private machine learning in tensorflow using secure computation[J]. arXiv preprint arXiv:1810.08130, 2018.
[8] Wei K, Li J, Ding M, et al. Federated learning with differential privacy: Algorithms and performance analysis[J]. IEEE Transactions on Information Forensics and Security, 2020, 15: 3454-3469.
[9] Wang J, Guo S, Xie X, et al. Protect Privacy from Gradient Leakage Attack in Federated Learning[C]//IEEE INFOCOM 2022-IEEE Conference on Computer Communications. IEEE, 2022: 580-589.
[10] Jeong E, Oh S, Kim H, et al. Communication-efficient on-device machine learning: Federated distillation and augmentation under non-iid private data[J]. arXiv preprint arXiv:1811.11479, 2018.
精彩文章推荐
代码安全扫描实践——使用自定义lint检查
如何优化HTTPS实现访问加速(篇二)
关于vivo千镜安全架构的深度解析